package com.lkd.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.lkd.dto.SkuClassDTO;
import com.lkd.entity.SkuClass;
import com.lkd.exception.SkuClassException;
import com.lkd.mapper.SkuClassMapper;
import com.lkd.result.TableInfo;
import com.lkd.service.SkuClassService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author: Z.lx
 * @Date: 2025/8/16 21:29
 * @Description:
 **/
@Service
public class SkuClassServiceImpl implements SkuClassService {
    @Autowired
    private SkuClassMapper skuClassMapper;
    /**
     * @Description 添加分类
     * @Param [className]
     * @Date 2025/8/15 21:00
     **/
    public void addSkuClass(SkuClassDTO SkuClassDTO) {
        skuClassMapper.insert(SkuClassDTO);
    }

    /**
     * @Description 查询分类
     * @Param [SkuClassDTO]
     * @Date 2025/8/15 21:00
     **/
    public TableInfo<SkuClass> list(SkuClassDTO skuClassDTO) {
        PageHelper.startPage(skuClassDTO.getPageIndex(),skuClassDTO.getPageSize());
        List<SkuClass> skuClassList = skuClassMapper.skuClassList(skuClassDTO);
        Page<SkuClass> page = (Page<SkuClass>)skuClassList;
        return new TableInfo<>(skuClassDTO.getPageIndex(),skuClassDTO.getPageSize(),page.getPages(),page.getTotal(),page.getResult());
    }

    /**
     * @Description 根据分类id查询分类
     * @Param [classId]
     * @Date 2025/8/15 21:00
     **/
    public SkuClass classId(String classId) {
        if(classId == null){
            throw new SkuClassException("参数错误");
        }
        return skuClassMapper.getSkuClassById(classId);
    }

    /**
     * @Description 修改分类
     * @Param [classId, className]
     * @Date 2025/8/15 21:40
     **/
    public void updateClass(String classId, SkuClassDTO skuClassDTO) {
        SkuClass skuClass = skuClassMapper.getSkuClassById(classId);
        skuClass.setClassName(skuClassDTO.getClassName());
        skuClassMapper.updateById(skuClass);
    }

    /**
     * @Description 删除分类
     * @Param [classId]
     * @Date 2025/8/15 21:41
     **/
    public void deleteClass(String classId) {
        if(classId== null){
            throw new SkuClassException("分类ID不能为空");
        }
        skuClassMapper.deleteById(classId);
    }
}
